package vip.xiaonuo.supplier.modular.finance.settlement.param;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

/**
 * 结算单表查询参数
 *
 * @author Mr.wu
 * @date  2025/04/09 17:28
 **/
@Getter
@Setter
public class SupplierSettlementExportParam {

    /** 当前页 */
    @Schema(description = "当前页码")
    private Integer current;

    /** 每页条数 */
    @Schema(description = "每页条数")
    private Integer size;

    /** 排序字段 */
    @Schema(description = "排序字段，字段驼峰名称，如：userName")
    private String sortField;

    /** 排序方式 */
    @Schema(description = "排序方式，升序：ASCEND；降序：DESCEND")
    private String sortOrder;

    /** 关键词 */
    @Schema(description = "关键词")
    private String searchKey;

    /** IDS */
    @Schema(description = "ID集合")
    private String ids;

    /** 门店ID */
    @Schema(description = "门店ID")
    private String businessShippingStoreId;

    /** 收（付）款账户 */
    @Schema(description = "收（付）款账户")
    private String businessAccountId;

    /** 结算类型(0-收款,1-付款，2-转账) */
    @Schema(description = "结算类型(0-收款,1-付款，2-转账)")
    private String businessSettlementType;

    /** 结算项目 */
    @Schema(description = "结算项目")
    private String businessProjectId;

    /** 结算单号 */
    @Schema(description = "结算单号")
    private String businessCode;

    /** 业务ID */
    @Schema(description = "业务ID")
    private String businessBusinessId;

    /** 结算对象 */
    @Schema(description = "结算对象")
    private String businessObjectId;

    /** 单据状态 */
    @Schema(description = "单据状态")
    private String businessStatus;

    /** 创建时间开始 */
    @Schema(description = "创建时间开始")
    private String startCreateTime;

    /** 创建时间结束 */
    @Schema(description = "创建时间结束")
    private String endCreateTime;

    /** 是否按结算类型汇总 */
    @Schema(description = "是否按商品汇总")
    private Boolean isHavingByType;

    /** 是否按门店汇总 */
    @Schema(description = "是否按门店汇总")
    private Boolean isHavingByStore;

    /** 是否按账户汇总 */
    @Schema(description = "是否按账户汇总")
    private Boolean isHavingByAccount;

    /** 是否按结算项目汇总 */
    @Schema(description = "是否按结算项目汇总")
    private Boolean isHavingByProject;

    /** 是否按结算对象汇总 */
    @Schema(description = "是否按结算对象汇总")
    private Boolean isHavingByObject;

}
